home *** CD-ROM | disk | FTP | other *** search
- /* $Filename: WormWars/Source/diff.h $
- * $VER: WormWars 4.3 $
- * $Description: Header file for Worm Wars 4.3 for Amiga $
- *
- * © Copyright 1999 James R. Jacobs.
- */
-
- #include <exec/types.h>
-
- /* SAME ON EACH PLATFORM --------------------------------------------------
-
- types */
-
- #define AGLOBAL ; // global (project-scope)
- #define MODULE static // external static (file-scope)
- #define PERSIST static // internal static (function-scope)
- typedef signed char ABOOL; // 8-bit signed quantity (replaces ABOOL)
- typedef signed char SBYTE; // 8-bit signed quantity (replaces Amiga BYTE)
- typedef signed short SWORD; // 16-bit signed quantity (replaces Amiga WORD)
- typedef signed long SLONG; /* 32-bit signed quantity (same as LONG)
-
- DIFFERING ON EACH PLATFORM ------------------------------------------------
-
- types */
-
- typedef signed char COLOUR; // 8-bit signed
- typedef unsigned char SCANCODE; /* 8-bit unsigned
-
- miscellaneous */
-
- #define DEFAULTSET "PROGDIR:WormWars.fset"
- #define DELAY_MAX 16000L
- #define DELAY_DEC 1000L
- #define DELAY_MIN 6000L
- #define FONTX 8 // in pixels...
- #define FONTY 8
- #define HISCOREDISTANCE 13
- #define SCREENXPIXEL 639
- #define SCREENYPIXEL 245
- #define SQUAREX 9
- #define SQUAREY 6
- #define STARTXPIXEL 83
- #define STARTYPIXEL 11
-
- // scancodes
-
- #define ALPHAONE 0x01 // row 1. alphabetic 1
- #define ALPHATWO 0x02 // row 1. alphabetic 2
- #define ALPHATHREE 0x03 // row 1. alphabetic 3
- #define ALPHAFOUR 0x04 // row 1. alphabetic 4
- #define ALPHAFIVE 0x05 // row 1. alphabetic 5
- #define ALPHASIX 0x06 // row 1. alphabetic 6
- #define ALPHASEVEN 0x07 // row 1. alphabetic 7
- #define ALPHAEIGHT 0x08 // row 1. alphabetic 8
- #define ALPHANINE 0x09 // row 1. alphabetic 9
- #define NUMERICZERO 0x0F // row 5. numeric 0
- #define Q 0x10 // row 2.
- #define W 0x11 // row 2.
- #define E 0x12 // row 2. erase
- #define I 0x17 // row 2. insert
- #define O 0x18 // row 2. open...
- #define P 0x19 // row 2.
- #define NUMERICONE 0x1D // row 5. numeric 1
- #define NUMERICTWO 0x1E // row 5. numeric 2
- #define NUMERICTHREE 0x1F // row 5. numeric 3
- #define A 0x20 // row 3. save as...
- #define S 0x21 // row 3. save
- #define D 0x22 // row 3. delete
- #define F 0x23 // row 3. effects
- #define K 0x27 // row 3. append
- #define INTERNATIONALONE 0x2B /* row 3. international key adj. to
- Return (on some keyboards) */
- #define NUMERICFOUR 0x2D // row 5. numeric 4
- #define NUMERICFIVE 0x2E // row 5. numeric 5
- #define NUMERICSIX 0x2F // row 5. numeric 6
- #define INTERNATIONALTWO 0x30 /* row 4. international key adj. to
- Left Shift (on some keyboards) */
- #define Z 0x31 // row 4.
- #define KEY_X 0x32 // row 4.
- #define C 0x33 // row 4.
- #define V 0x34 // row 4.
- #define N 0x36 // row 4. new
- #define M 0x37 // row 4. music
- #define NUMERICDOT 0x3C // row 5. numeric .
- #define NUMERICSEVEN 0x3D // row 5. numeric 7
- #define NUMERICEIGHT 0x3E // row 5. numeric 8
- #define NUMERICNINE 0x3F // row 5. numeric 9
- #define SPACEBAR 0x40 // row 4.
- #define ENTER 0x43 // row 5. numeric Enter
- #define RETURN 0x44 // row 2. alphabetic Return
- #define ESCAPE 0x45 // row 0.
- #define DELETE 0x46 // row 3.
- #define NUMERICMINUS 0x4A // row 5. numeric -
- #define UP 0x4C // row 1.
- #define DOWN 0x4D // row 4.
- #define RIGHT 0x4E // row 3.
- #define LEFT 0x4F // row 2.
- #define F1 0x50 // row 0.
- #define F2 0x51 // row 0.
- #define F3 0x52 // row 0.
- #define F4 0x53 // row 0.
- #define F5 0x54 // row 0.
- #define F6 0x55 // row 0.
- #define F7 0x56 // row 0.
- #define F8 0x57 // row 0.
- #define F9 0x58 // row 0.
- #define NUMERICOPEN 0x5A // row 0. numeric (
- #define NUMERICCLOSE 0x5B // row 0. numeric )
- #define NUMERICSLASH 0x5C // row 5. numeric /
- #define NUMERICASTERISK 0x5D // row 5. numeric *
- #define NUMERICPLUS 0x5E // row 5. numeric +
- #define HELP 0x5F // row 0.
- #define FIRSTQUALIFIER 0x61
- #define LASTQUALIFIER 0x67
- #define KEYUP 0x80 // key release
-
- // colours
-
- #define BLACK 0
- #define WHITE 1
- #define DARKGREY 2
- #define LIGHTGREY 4
- #define ORANGE 5
- #define PURPLE 6
- #define DARKGREEN 8
- #define GREEN 9
- #define DARKRED 10
- #define RED 11
- #define DARKBLUE 12
- #define BLUE 13
- #define DARKYELLOW 14
- #define YELLOW 15
-
- // AMIGA-ONLY -------------------------------------------------------------
-
- #define JOYDELAY 50000L // 1,000,000 / JOYDELAY = movement in squares per second
- #define SENTINEL 2 // not -1, 0 or 1
-
- // Must have blank line at EOF.
-